class Watch{
    constructor(vm,key,cb){
        this.vm = vm;
        // data中的属性名称
        this.key = key;
        this.cb = cb;
        // 将当前watch实例挂载到Dep的静态属性中
        Dep.target = this;
        // 触发data属性的get方法， 添加依赖
        this.oldValue = vm[key];
        // 清除挂载，防止重复添加
        Dep.target = null;
    }
    // 当数据发生变化时更新视图
    update(){
        let newValue = this.vm[this.key];
        if(newValue === this.oldValue){
            return;
        }
        this.cb(newValue);
    }
}
